package pe.com.hatunsol.hatun_android.adapter;

import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.TextView;
import android.util.Log;

import java.util.List;

import pe.com.hatunsol.hatun_android.R;
import pe.com.hatunsol.hatun_android.entity.DetalleVenta;
import pe.com.hatunsol.hatun_android.entity.Producto;

/**
 * Created by Vladimir on 24/02/2015.
 */
public class MainAdapterListaVenta extends ArrayAdapter<DetalleVenta> {
    public MainAdapterListaVenta(Context context, int resource, List<DetalleVenta> objects){
        super(context, resource, objects);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        MainHolderVenta mainHolderVenta = null;
        if(convertView==null || !(convertView.getTag() instanceof MainHolderVenta)){
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_lista_venta,parent,false);
            mainHolderVenta = new MainHolderVenta();
            mainHolderVenta.tvCodProd     = (TextView)convertView.findViewById(R.id.tvCodProd);
            mainHolderVenta.tvItemNombre  = (TextView)convertView.findViewById(R.id.tvItemNombre);
            //mainHolderVenta.tvItemMarca = (TextView)convertView.findViewById(R.id.tvItemMarca);
            //mainHolderVenta.tvUnidadMedida = (TextView)convertView.findViewById(R.id.tvUnidadMedida);
            mainHolderVenta.tvItemPrecio  = (TextView)convertView.findViewById(R.id.tvItemPrecio);
            mainHolderVenta.EdCantidad    = (EditText)convertView.findViewById(R.id.EdCantidad);

            convertView.setTag(mainHolderVenta);
        }else{
            mainHolderVenta = (MainHolderVenta)convertView.getTag();
        }

        final DetalleVenta detalleVenta = getItem(position);
        mainHolderVenta.EdCantidad.addTextChangedListener(new TextWatcher(){
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                    Log.d("",s.toString());
                    if(s.toString().equals("")){
                        detalleVenta.setCantidad(0);
                    }else{
                        detalleVenta.setCantidad(Integer.parseInt(s.toString()));
                    }
                    //Log.d("",s.toString());
            }
        });

        if(detalleVenta!=null){
            mainHolderVenta.tvCodProd.setText(String.valueOf(detalleVenta.getProducto().getIdproducto()));
            mainHolderVenta.tvItemNombre.setText(detalleVenta.getProducto().getName());
            //mainHolderVenta.tvItemMarca.setText(producto.getMarca());
            //mainHolderVenta.tvUnidadMedida.setText(producto.getUnid_medida());
            mainHolderVenta.tvItemPrecio.setText(String.valueOf(detalleVenta.getProducto().getPrecio()));
        }else{
            mainHolderVenta.tvCodProd.setText("");
            mainHolderVenta.tvItemNombre.setText("");
            //mainHolderVenta.tvItemMarca.setText("");
            //mainHolderVenta.tvUnidadMedida.setText("");
            mainHolderVenta.tvItemPrecio.setText("");
        }

        return convertView;
    }

    static class MainHolderVenta{
        TextView tvCodProd,tvItemNombre,tvItemMarca,tvUnidadMedida,tvItemPrecio,EdCantidad;
    }

}
